Sozdai LogoDocs
Docs/Image/Text to Image

Nano Banana Pro· Text to Image

Text to Image
POSThttps://api.sozdai.ai/v1/media/generations

#Submit a task

Media generation is asynchronous: you get a task id immediately, without waiting.

bash
curl https://api.sozdai.ai/v1/media/generations \
  -H "Authorization: Bearer $CORRY_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "nano-banana-pro", "prompt": "a cute robot mascot, flat vector logo" }'
# → { "id": "cmus7q0x9000108l3f5g2abcd", "status": "queued" }

#Request parameters

ParameterTypeRequiredDefaultDescription
promptstringYes
Text prompt describing the image to generate (max 20000 chars).
image_inputstring[]No
Optional reference/source image URLs to transform (max 8, ≤30MB each; jpeg/png/webp).
aspect_ratiostringNo1:1
Aspect ratio of the output image.
Options: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, auto
resolutionstringNo1K
Output resolution. Higher resolutions take longer to generate.
Options: 1K, 2K, 4K
output_formatstringNopng
Format of the output image.
Options: png, jpg
callback_urlstringNo
Optional public http(s) URL. We POST the task result here the moment generation finishes (success or failure).

#Poll for the result

Generation runs asynchronously — the submit call returns immediately with a task id. Poll this endpoint with that id every few seconds until status becomes succeeded (result ready) or a terminal error (failed / timeout).

GEThttps://api.sozdai.ai/v1/media/generations/{id}
bash
# take the id from the submit response, then poll every ~3s
curl https://api.sozdai.ai/v1/media/generations/cmus7q0x9000108l3f5g2abcd \
  -H "Authorization: Bearer $CORRY_KEY"
# repeat until "status" is "succeeded" (or "failed" / "timeout")

#Response example

On submit

json
{
  "id": "cmus7q0x9000108l3f5g2abcd",
  "status": "queued",
  "type": "image",
  "model": "nano-banana-pro"
}

On success (after polling)

json
{
  "id": "cmus7q0x9000108l3f5g2abcd",
  "status": "succeeded",
  "type": "image",
  "model": "nano-banana-pro",
  "result": { "urls": ["https://cdn.sozdai.ai/image/1782537315223-b49c0c1b771f.png"] },
  "cost": "0.0500",
  "currency": "USD"
}

Response fields

FieldTypeDescription
statusstringTask status: queued / submitted / succeeded / failed / timeout.
typestringMedia type: image / video / music.
modelstringThe model you requested.
resultobjectPresent on success. result.urls is an array of permanent file URLs.
errorstringError message, present when the task failed.
coststringAmount charged for this task — a USD string (e.g. "0.1200"). See the currency field.
currencystringCurrency of cost — always "USD".